package eleventh.国际化程序.使用类代替资源文件;
// 此做法在开发中不常见 抓哟还是以属性文件的应用为主

import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle;

/**
 * 和之前的资源文件的保存一致，如果使用类保存信息，也必须按照key-value的形式出现
 * 而且类的命名必须与属性文件一致，而且此类必须继承ListresourceBundle类，继承之后要覆写此类中getContent()方法
 */
// 在国际化程序中使用以上定义的类
public class 建立中文的资源类 {
    public static void main(String[] args) {
        Locale zhLoc = new Locale("zh", "CN");
        ResourceBundle zhrb = ResourceBundle.getBundle("eleventh.国际化程序.使用类代替资源文件.Message", zhLoc);
        // 注意路径 要以"."的形式来写 路径中可以有中文路径 但是”src/“就不要写了 Message文件后面的_zh_CN也不要了，".java"更不用写了
        String str = zhrb.getString("info");
        System.out.println("中文：" + MessageFormat.format(str, "王境泽"));
    }
}
/**
 * 程序中用一个类替代了原本的资源文件内容，但是读者要注意:在资源类中的属性一定是一个二维数组
 *
 *     private final Object data[][]={
 *         {"info","你好，{0}"}
 *     };
 *
 * 提问：如果现在多个资源文件一起出来，该如何访问？
 * 答案：比如之前的程序中出现了Message.properties Message_zh_CN.properties Message_zh_CN.class
 *      在项目同时存在这三个类型的文件 最终 只会使用一个，并且按照优先级使用。
 *      顺序为：Message_zh_CN.class Message_ch_CN.properties Message.properties
 *      但是是从实际开发的角度来看 很少使用一个类文件代替资源文件的，所以重点在于掌握资源文件的使用就行
 */